Current video conferencing techniques allow multiple users in geographically-separated locations to hear and see each other via simultaneous two-way audio and video transmissions. For example, using Google Voice and Video Chat, provided by Google, Inc. of Menlo Park, Calif., two users may establish a two-way multimedia communication session, with each user's computer displaying output of a video camera of the other user's computer. Similarly, using iChat, manufactured by Apple Inc., of Cupertino, Calif., a plurality of users may establish a video conference, with each user seeing video of each other user.
As more users are added to a video conference, bandwidth requirements may drastically increase, scaling according to (number of users)*(number of users−1). For example, with two users, each receives video output from the other user, requiring network bandwidth for two video transmissions. With four users, because each user's video must be sent to three other participants, network bandwidth is required for twelve simultaneous video transmissions. This can quickly become unmanageable. For example, referring briefly to the block diagram of an embodiment of a video conference illustrated in FIG. 1A, a conference with 6 participants requires 30 transmissions to ensure each receives video output from others. Current systems typically place a cap on the number of participants allowed in a video conference, or else make some participants receive-only, such that their video output is not sent to other participants.
Similarly, processing requirements may drastically increase as the conference size grows. Each user's computer is required to receive the multiple video streams and display them simultaneously. For a six-user conference, for example, the six computing devices are all required to composite five incoming video streams, plus a local camera video output. Aside from the waste of redundant processing by each client, this restricts the ability of computing devices with low processing power from being able to participate in video conferences with a large number of users.
Enterprises typically spend a lot of money on their communications equipment and, accordingly, tend to hold onto said equipment long past obsolescence due to the high cost of replacement and internal resistance to change. Additionally, such systems may have costly service or upgrade contracts. Many companies allow such contracts to expire or lapse due to not appreciating the potential for reconfiguration or foreseeing potential new features. The companies may be ineligible to renew such upgrade contracts, for example, those provided by a manufacturer, or may have to pay retroactive costs back to the date of lapse in order to receive updates. Due to the high costs, even new features provided by manufacturers may be unavailable to many users.